Touch Tone Simulate
By Chuck Thomka
1979
ARCADIAN, 1, no. 8 (July 1979): 65.
Modification: ARCADIAN, 2, no. 10 (Sept 1980): 90.
Documentation by Adam Trionfo


"Touch Tone Simulate" allows the user to type in a phone number, and 
then dial it by placing a phone near the TV speaker and then pressing 
PRINT.  The Bally Arcade will automatically dial the phone number.
Make sure that when you use the program that your TV's volume is set 
to a high enough level so that your telephone can "hear" the TV.

Program Commands are:

PRINT - Play numbers in memory
CLEAR - Clear memory
ERASE - Erase one number

Bell System's Required Frequency Guide:

One column freq and one row freq per number pushed.  Also I've added
A to D if you have the 16 key keypad phone.

                                               Row
                                              Freqs
                 +------+------+------+------+
Column Freqs     | 1209 | 1336 | 1477 | 1633 |
                 +------+------+------+------+-----+
                 |  1   |  2   |  3   |  A   | 697 |
                 +------+------+------+------+-----+
                 |  4   |  5   |  6   |  B   | 772 |
                 +------+------+------+------+-----+
                 |  7   |  8   |  9   |  C   | 852 |
                 +------+------+------+------+-----+
                 |  *   |  0   |  #   |  D   | 941 |
                 +------+------+------+------+-----+

Frequency Comments about line numbers:

Line 300: 0= 1336.8Hz & 940.7Hz
Line 301: 1= 1209.5Hz & 697.2Hz
Line 302: 2= 1336.8Hz & 697.2Hz
Line 303: 3= 1481.6Hz & 697.2Hz
Line 304: 4= 1209.5Hz & 769.7Hz
Line 305: 5= 1336.8Hz & 769.7Hz
Line 306: 6= 1481.6Hz & 769.7Hz
Line 307: 7= 1209.5Hz & 850.7Hz
Line 308: 8= 1336.8Hz & 850.7Hz
Line 309: 9= 1481.6Hz & 850.7Hz


This program was typed-in on February 16, 2011 by Adam Trionfo.  There were 
errors which have been fixed by Adam and Richard Degler.  Also, this program 
will autorun when loaded into AstroBASIC with:

:INPUT


This document contains complete postings or excerpts of postings concerning 
"Touch Tone Simulate" made to the BallyAlley.com discussion group.  The group 
is located here:  

http://tech.groups.yahoo.com/group/ballyalley/ 

Posted to on February 16, 2011 with the subject "Subject: "The Music 
Synthesizer" By Chuck Thomka:"


The July 1979 issue of the Arcadian newsletter has the first part of a tutorial 
on pages 62-66 called "The Music Synthesizer" By Chuck Thomka.  Part two of the 
tutorial is in the next issue of the Arcadian (August 1979, pages 71-73).

Here is a direct link to the issue with the first part of the tutorial:

http://tinyurl.com/4ptlc2r

(or use the full URL:)

http://www.ballyalley.com/newsletters/arcadian/arcadian_vol_1/arcadian_vol_1_is
sue_08.pdf

Here is a direct link to the issue with the second part of the tutorial:

http://tinyurl.com/496gby9

(or use the full URL:)

http://www.ballyalley.com/newsletters/arcadian/arcadian_vol_1/arcadian_vol_1_is
sue_09.pdf

In the past I've referred people interested in sound on the Bally to this 
tutorial because of its in-depth coverage of the "Music Synthesizer" chip and 
its ports.  This article was written in the very early days of Bally BASIC and 
the understanding of the Bally Arcade was quite limited.  I have a few
questions concerning this article:

1)  How accurate is it?  Is it safe to say it's spot on, or did Chuck make some 
presumptions that were incorrect?

2)  Is it an accurate presentation of the Astrocade's sound ports?  I'm not 
sure if anybody will know this or not, but was this used for reference for 
long, or is there a better reference on the sound ports in the Arcadian?

3)  Has anyone tried either of the two NON-archived programs that accompany the 
tutorials (perhaps way "back in the day)?

The two non-archived programs are called:  "Sound Graph" and "Touch Tone 
Simulate."  Both of these programs were written for "old" Bally BASIC.  "Touch 
Tone Simulate" accesses the sound ports directly and it allows you to make 
phone calls simply by putting your phone up to the TVs speaker (although 
ordinary NOW, that must have been extremely NEAT at the time the tutorial was 
written).

Most BASIC programs created sound through loops or used the PRINT statement 
(okay, Brett Bilbrey and George Moses didn't use this method-- but these people 
were exceptions).  Even AstroBASIC, which has sound variables, downplays the 
port method-- although it can still be used. I know that to use Bally BASIC 
sound programs in AstroBASIC you have to use NT=-1 to access the ports 
directly.

Adam


Posted to the BallyAlley.com discussion group on February 17, 2011


Paul Thacker wrote:
>>
you may recall that I have found one phone conversation with him so far--

Thomka_1-2-82_ (part_1) - A very technical discussion between Bob and Chuck 
Thomka about circuit frequencies.  Time - 15:29 / Size - 15.1MB
>>

I just gave this a listen and Bob and Chuck are talking about this very 
tutorial that I've mentioned and the program "Touch Tone Simulate."  So, good 
"find," Paul.  Okay, really not a find, but you REMEMBERED it.  I listened to 
about half the recording (maybe more), but I got frustrated and stopped 
listening to it as some places are hard to hear because of background noise 
such as phones ringing, people talking and dogs barking.  If I HAD to 
transcribe it word for word then I suppose it could be done, but it wouldn't be 
easy.

At one point Chuck explains that the frequency formula for the Master 
Oscillator in the Nutting Manual on page 103 will come up with frequencies that 
are three or four hertz off.  He says that it probably won't mean anything, but 
if you use HIS formula "If you want to come up with a 1,000Hz frequency, then 
you'll come up with a 1,000Hz frequency."  He said that his touch Tone program 
wouldn't work if he used the formula in the book, as you're only allowed 5Hz 
variation from standard frequency.

Overall it is nice to have this recording and it might even have more useful 
information on there, but it's a little difficult for me to plow through.  
Also, they make references that are sometimes hard to follow.  When Chuck 
referenced "the book," I knew that he meant "The Nutting Manual" because of the 
content of it and what they are talking about.  If you just listened to the 
recording and were not familiar with the manual, you would have been lost for a 
couple of minutes as they reference page numbers and talk quite vaguely about 
what is on the page.  I happen to have the "Nutting Manual" sitting on my desk 
so I was able to follow along quite smoothly.

Thanks for pointing this recording out, Paul. 

Adam


Posted to the BallyAlley.com discussion group on February 17, 2011


I finished typing in and debugging "Touch Tone Simulate" by Chuck Thomka.  This 
program was written for Bally BASIC, but it works okay with AstroBASIC with the 
changes for NT=-1.  I tried typing my cell phone's number from my home phone.  
I held my home phone up to the screen, and what do you know... my cell phone
rang.  It actually worked!

The program DOES have some problems though.  After the first number is dialed, 
there is still a very low sound leftover.  Line 190 shuts off the volume for 
Voices A and B between touch tone pulses:

190 &(22)=0

After the phone number is dialed, there is still a slight tone.  If I quit the 
program, the tone is still there.  If I use NT=0, then the tone goes away.  So, 
I tried adding NT=0 to the program, but for some reason it doesn't work 
(probably because it can't be used in conjunction with NT=-1, is my guess).  I 
wasn't not sure what port needed quieting, so I hit them all with a 
sledgehammer and set all of them to zero in the program with this loop:

FOR B=16TO23;&(B)=0;NEXT B

This worked fine.  So I tried turning off just the voices.  Once I set the 
frequency of voices A and B to zero (ports 17 and 18), then the sound went 
away.  I suppose this is because, even at the lowest volume of zero (port 22), 
the voice can still be heard-- this is what the article says.  Is this correct?  
So I had to set the frequency of voices A and B to zero to correct for this. 
Using NT=0 would have been nice since I think it sets all of ports 16-23 to 
zero-- like my above loop.

It would seem that a volume of zero doesn't mean ZERO.  Whose crazy idea was 
that?!?

This program was obviously put together in a quick and dirty manner by Chuck.  
The ERASE button, sorta works, but only in certain circumstances [Note that 
this was fixed by Richard Degler].  Also, there is no checking for valid input 
which has actually screwed me up a few times, as the program will crash when it 
tries to play a non-number.  Rich Tietjens fixed some of these problems a year 
later with an update published in the Sept 1980 issue of the Arcadian.  I'm 
going to incorporate these this program (plus my own fix, as the sound of 
voices A and B, even at a low level, is annoying to me).  When I'm done I'll 
upload it after I digitally archive the program.

Hey, I'm learning about sound and that is COOL!  Next stop... Broadway!


Posted to the BallyAlley.com discussion group on February 17, 2011


Oh, there was one other problem with "Touch Tone Simulate."  Line 90 is:

90 TV=N,

This should take what is in N and put it on the screen.  Well, it does THAT, 
but then it chokes on the comma.  I removed the comma and all is fine.  I 
figured that after each number that was printed on the screen there would be a 
carriage return, but there isn't.  It works just fine without the comma.  With 
a PRINT statement, the comma would mean continuing printing on the same line.  
It seems to do this already with the TV statement, at least in AstroBASIC.  Is 
there anything that I should know that the comma did in Bally BASIC when put 
after TV that might not occur with AstroBASIC?

Oh, and this COULD be an error, as there was an error on line 60-- it was 
missing a semicolon.  Man, it must have been frustrating to not know anything 
about BASIC when typing in a program.  If it didn't work you probably ended up 
HATING computers!

Adam


This sums up all the discussion about "Touch Tone Simulate" that happened on 
the discussion group.  The rest of the talk about the program happened between 
Richard Degler and I through private email.  I will not be adding those 
messages to this document.
